541. 反转字符串 II
给定一个字符串 s 和一个整数 k，从字符串开头算起，每计数至 2k 个字符，就反转这 2k 字符中的前 k 个字符。

如果剩余字符少于 k 个，则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个，则反转前 k 个字符，其余字符保持原样。
class Solution {
public:
    string reverseStr(string s, int k) {
        int count = 0;
        auto it = s.begin();
        auto begin = it;
        while (it < s.end())
        {
            begin = it;
            while (count < k && it != s.end())
            {
                ++count;
                ++it;
            }
            reverse(begin, it);
            while (it != s.end() && count)
            {
                --count;
                ++it;
            }
            count = 0;
        }
        if (it > s.end())
            reverse(begin + k, s.end());
        return s;
    }
};
